/**
 * @param {number[]} nums
 * @return {number}
 */
var lengthOfLIS = function (nums) {
  //定义状态数组dp
  let dp = new Array(nums.length).fill(1)

  //状态转移方程：dp[i] = Math.max(dp[j] + 1, dp[i])
  for (let i = 0; i < nums.length; i++) {
    for (let j = 0; j < i; j++) {
      if (nums[j] < nums[i]) {
        dp[i] = Math.max(dp[j] + 1, dp[i])
      }
    }
  }

  //返回数组dp中的最大值
  return Math.max(...dp)
};